﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Cotizav.CONTROLADOR;

namespace Cotizav.PRESENTACION.Reporte.Parametros.Equipos
{
    public partial class Rep_EquiposGeneral : UserControl
    {
        private CtrlClientes ctCliente;
        private CtrlEquipo ctEquipo;
        private CtrlCaracteristica ctCaracteristica;
        private CtrlMarca ctMarca;
        private CtrlModelo ctModelo;
        
        public Rep_EquiposGeneral()
        {
            InitializeComponent();

            ctCliente = new CtrlClientes();
            ctEquipo = new CtrlEquipo();
            ctCaracteristica = new CtrlCaracteristica();
            ctMarca = new CtrlMarca();
            ctModelo = new CtrlModelo();
        }

        private void Rep_EquiposGeneral_Load(object sender, EventArgs e)
        {
            cmbMarca.DataSource = null;
            cmbMarca.DataSource = ctMarca.getListMarca();
            cmbMarca.DisplayMember = "nombreMarca";
            cmbMarca.ValueMember = "idMarca";
            cmbMarca.SelectedIndex = -1;                        
        }

        private void chkCodigo_CheckedChanged(object sender, EventArgs e)
        {
            if (chkCodigo.Checked)
            {
                txtCodigo.Enabled = true;
            }
            else
            {
                txtCodigo.Enabled = false;
            }
        }

        private void chkDescripcion_CheckedChanged(object sender, EventArgs e)
        {
            if (chkDescripcion.Checked)
            {
                txtDescripcion.Enabled = true;
            }
            else
            {
                txtDescripcion.Enabled = false;
            }
        }

        private void chkMarca_CheckedChanged(object sender, EventArgs e)
        {
            if (chkMarca.Checked)
            {
                cmbMarca.Enabled = true;
            }
            else
            {
                cmbMarca.Enabled = false;
            }
        }

        private void chkModelo_CheckedChanged(object sender, EventArgs e)
        {
            if (chkModelo.Checked)
            {
                cmbModelo.Enabled = true;
            }
            else
            {
                cmbModelo.Enabled = false;
            }
        }

        private void btnBuscar_Click(object sender, EventArgs e)
        {           
            string codigo = chkCodigo.Checked ? txtCodigo.Text : null;
            string descripcion = chkDescripcion.Checked ? txtDescripcion.Text : null;
            string idmarca = chkMarca.Checked ? cmbMarca.SelectedValue != null ? cmbMarca.SelectedValue.ToString() : null : null;
            string idmodelo = chkModelo.Checked ? cmbMarca.SelectedValue != null ? cmbModelo.SelectedValue.ToString() : null : null;
            bool mostrarCaracteristicas = chkMostrarCaracteristicas.Checked ? true : false;

            DataTable result = ctEquipo.getListEquiposxRepGeneral(codigo, descripcion, idmarca, idmodelo);

            IUReporte iurep = this.ParentForm as IUReporte;
            iurep.showEquiposRepGeneral("Equipos", result, mostrarCaracteristicas);
        }

        private void cmbMarca_SelectionChangeCommitted(object sender, EventArgs e)
        {
            if (cmbMarca.SelectedIndex >= 0)
            {
                string idMarca = cmbMarca.SelectedValue.ToString();

                cmbModelo.DataSource = null;
                cmbModelo.DataSource = ctModelo.getListModelo(idMarca);
                cmbModelo.DisplayMember = "nombreModelo";
                cmbModelo.ValueMember = "idModelo";
                cmbModelo.SelectedIndex = -1;
            }
        }      
    }
}
